The Internet success is the result of the IP architecture's robustness, flexibility, and ability to scale, and NOT on its efficiency, optimization, security, fine-grained control or performance guarantees. Furthermore, TCP/IP data networks are still suffering from some basic (quite inherent) problems, such as, denial of service attacks and unstable throughput.
The unstable throughput problem is the result of the “Saw-toothed-like” behavior of Internet's TCP (transport control protocol). Consequently, the Internet suffers from unstable end-to-end delay. As a result, the Internet is not as attractive to certain revenue generating applications, such as, streaming voice and video, and large file transfer.
The current invention will improve the performance of TCP/IP flows to a degree rivaling the performance of transmission over a dedicated leased line. This will impact the world wide web performance: (i) higher efficiency web operation with predictable throughput, (ii) lower delay web operation—better user satisfaction, and (iii) more deterministic guarantee delay for streaming media over the web.
Under the aforementioned prior art methods for providing packet switching services, switches and routers operate asynchronously. The present invention provides real-time services by synchronous methods that utilize a time reference that is common to the switches and end stations comprising a wide area network. The common time reference can be realized by using UTC (Coordinated Universal Time), which is globally available via, for example, GPS (Global Positioning System), Galileo, GLONASS (Global Navigation Satellite System). By international agreement, UTC is the same all over the world. UTC is the scientific name for what is commonly called GMT (Greenwich Mean Time), the time at the 0 (root) line of longitude at Greenwich, England. In 1967, an international agreement established the length of a second as the duration of 9,192,631,770 oscillations of the cesium atom. The adoption of the atomic second led to the coordination of clocks around the world and the establishment of UTC in 1972. The Time and Frequency Division of the National Institute of Standards and Technologies (NIST) is responsible for coordinating with the International Bureau of Weights and Measures (BIPM) in Paris in maintaining UTC (see http://www.boulder.nist.gov/timefreq).
1. Field and Context of the Invention
This invention relates generally to a method and apparatus for transmitting data on a communications network. More specifically, this invention relates to timely forwarding, discarding, and delivering data over the network and to their destination nodes and the optimization of data transfer throughput through the network.
The timely forwarding and discarding are possible thanks to time information—called a common time reference—that is globally available from GPS (Global Positioning System), Galileo, and GLONASS (Global Navigation Satellite System). Consequently, end-to-end performance parameters, such as, delay and jitter, can have either deterministic or probabilistic bounds.
Data transfer throughput optimization is pursued by taking advantage of the timely forwarding and discarding properties to improve the data transfer flow control mechanisms. For example, the widely deployed Transmission Control Protocol (TCP) uses a window based flow control mechanism according to which a sliding window is resized in order to avoid overloading receiver and network, on the one side, and taking advantage of all available network resources, on the other side. Traditional TCP window size control algorithms are not very efficient, because they are based on an often inaccurate estimate of the round trip time that has a high variability on traditional asynchronous networks. The timely forwarding disclosed herein allows the round trip time and round trip time variations to be bound and known in advance. This invention relates to a TCP window size control algorithm that uses knowledge on round trip delay bound and round trip delay variation bound to change the window size such that throughput is maximized.
2. Background of the Invention: Prior Art
In traditional telephone networks the user of the telephone device cannot over burden the network with signals beyond the allocated circuit it gets. On the other hand, in software operations and thus in computer communication networks, a user gets access to the software in its station, the same software which is in charge of regulating the user himself. As a result users can “control” the network rather than the network controlling the users.
Indeed, it is assumed that there is availability of logic (i.e., software) of methods for controlling communication and for preparation of data packets for transmissions. The description is given in numerous books: [“Internetworking with TCP/IP” by D. E. Comer, Prentice-Hall, Third Edition, 1995, ISBN 0-13-216987-8]; and [“TCP/IP Illustrated, Vol. 1: The Protocols” by W. R. Stevens, Addison-Wesley, Reading, Mass. 1994].
Synchronous methods are found mostly in circuit switching, as compared to packet switching that uses mostly asynchronous methods. However, some packet switching synchronous methods have been proposed. IsoEthernet or IEEE 802.9a combines CSMA/CD (IEEE 802.3), which is an asynchronous packet switching with N-ISDN and H.320, which is circuit switching over existing Ethernet infrastructure (10Base-T). This is a hybrid solution with two distinct switching methods: N-ISDN circuit switching and Ethernet packet switching. The two methods are separated in the time domain by time division multiplexing (TDM). The IsoEthernet TDM uses fixed allocation of bandwidth for the two methods—regardless of their utilization levels. This approach to resource partitioning results in undesirable side effects like under-utilization of the circuit switching part while the asynchronous packet switching is over loaded but cannot use the idle resources in the circuit switching part.
There are methods that use a common time reference for regulating the forwarding of packets through the network. In [“Pseudo-isochronous cell forwarding” by C-S. Li, Y. Ofek, A. Segall, and K Sohraby, Computer Networks and ISDN Systems, 30:2359-2372, 1998], a packet is forwarded one hop every time frame in a manner similar to the execution of instructions in a Reduced Instruction Set Computer (RISC) machine. However, such methods use reservation of network resources for providing deterministic quality of service, thus providing support for real time applications. Given the periodic nature of resource reservation and network operation, such methods are optimal for periodic variable bit rate traffic, such as videoconferencing: [“End-to-end Delay Analysis of Videoconferencing over Packet Switched Networks” by M. Baldi and Y. Ofek, IEEE/ACM Transactions on Networking, Vol. 8, No. 4, August 2000, pp. 479-492]. Instead, the method for packet forwarding described in the present disclosure, uses a common time reference to provide a best effort service without necessarily requiring previously reserved network resources. Such service is particularly suitable to traditional data applications, such as file transfers, that do not have real-time constraints, and should be able to maximize their throughput by using any unused network resources.
Many traditional data applications are based on reliable transfer protocols, such as the Transmission Control Protocol (TCP), that use either window based or rate based flow control mechanisms. TCP flow control is based on a sliding window that is resized in order to avoid overloading receiver and network, on one side, and taking advantage of all available network resources, on the other side. TCP window size control algorithms are not very efficient; this invention uses properties derived from the deployment of a common time reference for the forwarding of best effort packets to improve the efficiency of the window size control algorithm.